// "Copyright 2023 @Nikita_00101"

#pragma once
#ifndef _SYSTEM_CWT_H_
#define _SYSTEM_CWT_H_

#include <curses.h>
#include <vector>

using namespace std;

#define WIDTH_SCREEN_X 125
#define LENGHT_SCREEN_Y 30

#define PATH_FILE_MAIN_SCREEN_JSON "res/ScreenSetting.json"
#define PATH_FILE_MAIN_SCREEN "res/ScreenSetting"
#define SCREENSETTING_WIDTH "ScreenSetting.width"
#define SCREENSETTING_LENGHT "ScreenSetting.lenght"

enum Color {
    BLACK,
    RED,
    GREEN,
    YELLOW,
    BLUE,
    MAGENTA,
    CYAN,
    WHITE,
};


#define WALL_Y_PERPENDICULAR "│"
#define WALL_Y_ANGLE_UNDER_90_DOWN "┬"
#define WALL_Y_ANGLE_UNDER_90_TOP "┴"

#define WALL_X_IN_PARALLEL "─"
#define WALL_X_ANGLE_UNDER_90_LEFT "├"
#define WALL_X_ANGLE_UNDER_90_RIGHT "┤"


const vector<pair<char, char>> CODE_KEYS = {
    {'a', 'A'}, {'b', 'B'}, {'c', 'C'}, {'d', 'D'}, {'e', 'E'}, {'f', 'F'},
    {'g', 'G'}, {'h', 'H'}, {'i', 'I'}, {'j', 'J'}, {'k', 'K'}, {'l', 'L'},
    {'m', 'M'}, {'n', 'N'}, {'o', 'O'}, {'p', 'P'}, {'q', 'Q'}, {'r', 'R'},
    {'s', 'S'}, {'t', 'T'}, {'u', 'U'}, {'v', 'V'}, {'w', 'W'}, {'x', 'X'},
    {'y', 'Y'}, {'z', 'Z'}
};

// Движение
#define DOWN KEY_DOWN   // стрелка вниз
#define UP KEY_UP       // стрелка вверх
#define LEFT KEY_LEFT   // стрелка влево
#define RIGHT KEY_RIGHT // стрелка вправо

#define KEY_W 119
#define KEY_A 97
#define KEY_S 115
#define KEY_D 100

// функции
#define KEY_I 105
#define KEY_R 114
#define KEY_E 101 // открыть инвентарь

#define ESC 27
#define ENTER 10

#endif
